[アップデート]Systems Manager 高速セットアップでは、組織内の全アカウントのEC2インスタンスに対してSSM機能を有効にしてくれるDHMCがサポートされました
はじめに
AWS Systems Manager Quick Setup(以降、SSM高速セットアップ)では、組織内の全アカウントの全リージョン内のEC2インスタンスに対し、デフォルトでSSMを有効にするDefault Host Management Configuration(以降、DHMC)がサポートされました。
DHMC(日本語では、デフォルトのホスト管理設定)では、SSMのフリートマネージャーで下記の通りIAMロールを指定します。
DHMCを有効化することで、EC2インスタンスに直接IAMロールをアタッチせずに、DHMCで指定したIAMロールによって、セッションマネージャーやパッチマネージャーなどのSSM機能が利用できるようになります。
以前は、全てのアカウントと全リージョンに適用する場合、アカウントやリージョンごとに、DHMCを手動で有効化するか、CloudFormation テンプレートを作成してStackSetsを利用する必要がありました。
今回のアップデートによって、SSM高速セットアップでは、組織内の全てのアカウントと全てのリージョンに対してDHMCを一括で有効化し、全てのEC2インスタンスに対してSSM機能を有効にすることができます。
また、組織内に新規アカウントが作成された場合も自動でDHMCが有効化されます。
前提条件として、DHMCでSSM機能が利用できるEC2インスタンスは、以下を満たす必要があります。
- SSM Agentバージョン3.2.582.0 以降がインストールされている
- Instance Metadata Service Version 2 (IMDSv2) のみサポート
DHMCの詳細は、下記の記事をご参考ください。
やってみた
まず、メンバーアカウント側でEC2インスタンスを起動します。
AMIは、Amazon Linux 2023 AMI 2023.2.20231011.0 x86_64 HVM kernel-6.1
にしました。
IAMロールは、選択しないまま起動します。
高速セットアップ
続いて、管理アカウント側で、アップデート内容であるSSM高速セットアップから、DHMCを有効化します。
検索欄にDefault Host Management Configuration
と入力します。
設定オプションでは、SSMエージェントの自動更新を2週間ごとに有効にする (推奨)
がありましたので、チェックしておきましょう。
[概要]欄から、有効化することで、以下の3つが実行されると確認できます。
- 組織内の全アカウントとリージョンでDHMCを有効化する
- SSM エージェントは、2週間ごとにアップデートする
- 今後、組織に加わる新しいアカウントにも自動的に適用される
設定が完了しました。
設定詳細をみると、インスタンスを定義(=関連付け
)した状態に保つステートマネージャーで、3つ関連づけされていることが確認できました。
- 2週間に1回SSMAgentの更新
- DHMCの有効化
- Systems Manager Explorer の有効化
メンバーアカウントで確認
メンバーアカウントでIAMロールを確認します。
リージョン名ごとにIAMロールが作成されていました。
フリートマネージャーを確認すると、IAMロールをアタッチしていない先程起動したEC2インスタンスがマネージドノードとして認識されていました。
私の場合、高速セットアップが完了してから、マネージドノードと認識されるまでに、1時間弱かかりました。個々で異なりますが、参考目安としてご認識ください。
[デフォルトのホスト管理設定を設定する]では、高速セットアップ前は無効でしたが、自動作成されたIAMロールが指定されており、有効化されていることが確認できます。
マネージドノードなので、もちろんセッションマネージャーで接続できました。
最後に
今回のアップデートでは、SSM 高速セットアップにおって、組織内の全アカウントと全リージョンに対して、DHMCを有効化できるようになりました。
DHMCを有効化することで、1台ずつEC2インスタンスにSSM権限のIAMロールをアタッチする必要がなくなります。
「特定のEC2インスタンスは、SSM機能を利用させたくない」などの要件がない限り、SSM機能を利用する組織であれば、ぜひ有効化を検討しましょう!